草庐IT

Ruby File 类和方法

全部标签

javascript - 使用 JavaScript 添加删除类的最有效方法

我很好奇是否有人知道其中哪一个更有效,我只关心作为浏览器的Firefox,不需要知道这段代码在IE等中不起作用...基本上,我根据输入字段的值显示和隐藏DOM元素,如果您愿意,可以进行即时搜索。如果没有显示搜索结果,我需要显示或隐藏“未找到”元素。我很好奇在修改其类属性之前检查“未找到”元素是否处于正确状态或仅修改类属性是否更便宜(更有效)。问题:我是否应该在每次函数运行时删除/添加隐藏类,即使元素的类属性没有变化?if(shown_count>0){element.classList.add('hidden');}else{element.classList.remove('hidd

javascript - 使用控制台查看对象的可用方法?

有什么方法可以使用控制台查看JS对象上可用的方法吗?我在想这样的事情:>varmyArray=[1,2,3];undefined>myArray[1,2,3]>myArray.logme=function(){console.log(this);};function(){console.log(this);}>myArray[1,2,3]我第二次键入myArray时,我想看到logme()方法现在可用的事实。我想知道答案,以便更轻松地探索不熟悉的JS对象。 最佳答案 你可以使用console.dir(myArray);你会得到一个像

javascript - setTimeout() 方法中的 clearTimeout() 在 JS 中不起作用

clearTimeout()insidesetTimeout()方法在JavaScript中不起作用varc=0;vart;functiontimedCount(){document.getElementById('txt').value=c;c=c+1;if(c==5){clearTimeout(t);}t=setTimeout(function(){timedCount()},1000);}jsFiddle 最佳答案 您需要阻止执行其余代码,实际上您是在清除setTimeout后重新声明t。Fiddlevarc=0;vart;f

javascript - 在 Angular JS 中处理模式最简单的方法是什么?

问题:如何在AngularJSController中管理一堆模态框?我将它们放在我View的底部并使用http://angular-ui.github.io/bootstrap/#/modal但我最终得到了大型html模板(有效)但感觉效率低下。我尝试过的:来自UI-Bootstrap的$dialog(屁股上的痛苦)使用UI-Bootstrap的模态通过ng-include存储在模板中的模态modals放在Controller中我View的底部这感觉就像我错过了什么。有什么指点吗?编辑:我做了很多搜索并找到了一个脚本,然后对其进行了一些升级:你的模式是外部模板它们也在您点击按钮的范围内

javascript - 哪个是定义函数的更好方法?

这个问题在这里已经有了答案:varfunctionName=function(){}vsfunctionfunctionName(){}(41个回答)关闭9年前。它们之间有什么区别吗?我一直在使用这两种方式,但不知道哪种方式更好,哪种方式更好?functionabc(){//Codecomeshere.}abc=function(){//Codecomeshere.}定义这些函数有什么区别吗?像i++和++i这样的东西?

javascript - ECMAScript Promise.all 方法适用于 jQuery.Deferred。为什么?

我正在研究JavaScript中的Promises。我很感兴趣能否将ECMAScriptPromises与其他实现结合起来,例如jQuery$.Deferred。当Promises.all与jQuery$.Deferred一起正常工作时,我感到很惊讶。我试图在jQuery源代码和CommonJSPromises/A规范中找到答案,但我仍然误解了为什么这段代码按我预期的方式工作(在10秒后执行console.log,而不是5秒):varpromise=newPromise(function(resolve,reject){setTimeout(function(){resolve();/

javascript - Select2 each2 方法 - 它是如何工作的?

我正在查看Select2(sourcecode)并找到了each2方法原型(prototype):$.extend($.fn,{each2:function(c){varj=$([0]),i=-1,l=this.length;while(++i我的问题是-这种方法是如何工作的?我的意思是-为什么while循环只有条件,没有语句部分?我真的很想了解此方法的流程。 最佳答案 当您将表达式置于条件中时(例如:if(i)、if(i==null)、if(++i)、if(i)),表达式在其“检查”之前得到评估,即true或false.实例:我们

javascript - 为什么来自 Promise `.then` 方法的回调是一种反模式

我在StackOverflow上看到了人们建议为AngularJS服务提供回调函数的答案。app.controller('tokenCtrl',function($scope,tokenService){tokenService.getTokens(functioncallbackFn(tokens){$scope.tokens=tokens;});});app.factory('tokenService',function($http){vargetTokens=function(callbackFn){$http.get('/api/tokens').then(functionon

javascript - removeClass 方法不工作 jquery

我有一个主div容器,里面有4个隐藏的div(我用display:none在css中创建了一个类,并将它添加到每个内部div),主div从下拉列表中读取一个值并根据读取值取消隐藏那么多div。Selectoption:Selectoption:Selectoption:Selectoption:但是removeClass对我不起作用。vardiff,NumofHiddenDDLs=$("#ddlContainer").children().filter("[class=hide]");if(ReadValue>NumofHiddenDDLs.length){diff=1;}else{d

javascript - Vue.js - 无法从方法访问计算属性

我在Vue组件中有一个登录方法,它使用firebase来登录用户。我正在使用计算属性user、message和hasErrors。当这个方法运行时,它进入了catch函数,但是出现了这个错误:未捕获的类型错误:无法设置未定义的属性“消息”。我试过直接更改vuex状态(因为这是计算Prop所做的),但这会产生相同的错误。这是我正在使用的方法:login:function(event){//...morestuff//Sign-intheuserwiththeemailandpasswordfirebase.auth().signInWithEmailAndPassword(this.em